package com.example.toolproject.demo.service;

import com.example.toolproject.demo.domain.DataSearch;
import com.example.toolproject.demo.domain.User;
import com.example.toolproject.demo.util.ResultBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName DataSearchService
 * @Description TODO
 * @Author lvyongwei
 * @Date 2020-06-19 13:51
 **/
public interface DataSearchService {

    /**
     * 插入数据信息
     * @param dataSearch
     * @return
     */
    public boolean insertData(DataSearch dataSearch);

    /**
     * 导入数据信息
     * @param dataSearchs  数据集合
     * @param u  用户对象
     * @return
     */
    public ResultBean imports(List<Object> dataSearchs, User u);

    /**
     * 根据type查询所有数据
     * @return
     */
    public List<DataSearch> selectAllDataSearch(int type,int userId);

    /**
     * 根据type  以及搜索条件模糊查询  所有数据
     * @param type     类型
     * @param message  搜索条件
     * @return
     */
    public List<DataSearch> selectAllDataSearchByMessage(int type,String message,int userId);

    /**
     * 根据数据id查询详情信息
     * @param dataSearchId  数据信息id
     * @return
     */
    public DataSearch getDataSearchById(int dataSearchId);

    /**
     * 获取到自己引用的所有的数据资源
     * @return
     */
    public List<DataSearch> getSelfAllDataSearch(int userId);

    /**
     * 根据类型获取简介，名称数据
     * @param type
     * @return
     */
    public List<String> getDataSearch(int type);

    /**
     * 根据引用数据及分类，获取要分词的数据信息
     * @param userId
     * @param type
     * @return
     */
    public List<String> getDataSearch2(int userId,int type);


    /**
     * 删除学生用户，游客用户导入的信息
     * @param user
     * @return
     */
    public ResultBean deleteDataSearch(User user);
}
